<%-- 
  -- Body New para Pay.
  --
  -- @author nicolas.gonzalez
--%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/struts-html-el-1.2.8.tld" prefix="html-el"%>
<%@ taglib uri="/WEB-INF/struts-logic-el-1.2.8.tld" prefix="logic-el"%>
<%@ taglib uri="/WEB-INF/security.tld" prefix="security" %>

<%@ taglib uri="http://struts.apache.org/tags-bean-el" prefix="bean2"%>

<script src="<html:rewrite page='/protected/script/util.js'/>" type="text/javascript"></script>

<%-- Para EXT --%>
<link rel="stylesheet" type="text/css" href="<html:rewrite page='/protected/script/ext-1.1.1/resources/css/ext-all.css'/>" />
<script src="<html:rewrite page='/protected/script/ext-1.1.1/adapter/ext/ext-base.js'/>" type="text/javascript"></script>
<script src="<html:rewrite page='/protected/script/ext-1.1.1/ext-all.js'/>" type="text/javascript"></script>


<div class="errors">
    <html:errors />
</div>


<script type="text/javascript">
    /* Pide confirmacion
     */
    var prePay = function() {
        Ext.MessageBox.confirm('Confirmar', 'Seguro de registrar el pago?', postPay);
    }
    
    
   /** Post invocacion . */    
    var postPay = function(btn)  {
        if (btn == "yes") {
            // Se quiere registrar el cobro
            createPay();
        }
    }
    
     /** Crea un pago/egreso
      * En el form de Struts se valida q porcentaje y valor no pueden
      * ser simultaneamente nulos. 
      */
    var createPay = function() {
        if (Util.valid.isBlank($("valueId").value)) {
            Ext.MessageBox.alert('Error', 'Debe ingresar valor. ');
            return;
        }
        else {
            if (isNaN($("valueId").value)) {
                Ext.MessageBox.alert('Error', 'Valor debe ser valido. Verifiquelo. ');
                return;
            }
            // comparo q sea el mismo q el del honorario
         	var honoraryValue = parseFloat($("honoraryValueId").value);
         	if (honoraryValue != parseFloat($("valueId").value)) {
         		Ext.MessageBox.alert('Error', 'El valor ingresado debe ser el mismo que el del honorario. En este caso: ' + honoraryValue + '. ');
         		return;
         	}
        }
        
        if (Util.valid.isBlank($("reasonId").value)) {
            Ext.MessageBox.alert('Error', 'Debe ingresar motivo/descripcion. Verifiquelo. ');
            return;
        }
        if (Util.valid.isBlank($("codeId").value)) {
            Ext.MessageBox.alert('Error', 'Debe ingresar codigo. Verifiquelo. ');
            return;
        }
        
        // El combo        
        var collectTypeSelectedObj = $("collectTypeSelectedId");
        var collectTypeSelectedValue = collectTypeSelectedObj.options[collectTypeSelectedObj.selectedIndex].value;

        // Cargo el resto.
        $("honoraryIdCreateId").value = $("honoraryId").value;
        $("collectTypeSelectedCreateId").value = collectTypeSelectedValue;
        $("reasonCreateId").value = $("reasonId").value;
        $("valueCreateId").value = $("valueId").value;
        $("codeCreateId").value = $("codeId").value;
    
        var form = $("createPayFormId");
        form.submit();
    } 
    
    // Decora los titles de HTML. Lo hace mas lindo, pero mas pesado...
    Ext.QuickTips.interceptTitles = true;
    Ext.QuickTips.init();
</script>

<%-- El ID del form NO debe ser modificado. Se usa desde el menu --%>
<html:form action="/protected/preparePay" styleId="payFormId">

    <html:hidden property="honoraryId" styleId="honoraryId" />

    <h2>Pago</h2>
    
    <div class="payEdit">
        <table class="tableDataCollect" cellspacing="0">
            <tr>
                <td class="tableDataTitle">
                    Docente
                </td>
                <td class="tableDataValue">
                    <html:text property="teacherName" readonly="true" size="50" title="Informacion del docente. Verifique este campo antes de confirmar ..." />
                </td>            
            </tr>
            <tr>
                <td class="tableDataTitle">
                    Curso
                </td>
                <td class="tableDataValue">
                    <html:text property="honoraryCourseInfo" readonly="true" size="40" title="Informacion del curso ..." />
                </td>            
            </tr>
            <tr>
                <td class="tableDataTitle">
                    Vigencia desde
                </td>
                <td class="tableDataValue">
                    <html:text property="honoraryDate" readonly="true" title="Vigencia desde del honorario. Verifique este campo antes de confirmar ..." />
                </td>            
            </tr>
            <tr>
                <td class="tableDataTitle">
                    Importe
                </td>
                <td class="tableDataValue">
                    <html:text property="honoraryValue" styleId="honoraryValueId" readonly="true" title="Importe original del honorario. Tiene que ser el mismo que el usuario ingrese ..." />
                </td>            
            </tr>
            <tr>
                <td class="tableDataTitle">
                    Valor a pagar
                </td>
                <td class="tableDataValue">
                    <html:text property="value" styleId="valueId" title="Ingrese el importe a pagar. El valor tiene que ser el mismo ..." />
                </td>            
            </tr>
            <tr>
                <td class="tableDataTitle">
                    Tipo de cobro
                </td>
                <td class="tableDataValue">
                    <html:select property="collectTypeSelected" styleClass="allSelects" styleId="collectTypeSelectedId" title="Seleccione el tipo de pago ..." >
                        <html:optionsCollection property="collectTypeOptions"/>
                    </html:select>
                </td>            
            </tr>
            <tr>
                <td class="tableDataTitle">
                    Codigo
                </td>
                <td class="tableDataValue">
                    <html:text property="code" styleId="codeId" title="Ingrese un codigo ..." />
                </td>            
            </tr>
            <tr>
                <td class="tableDataTitle">
                    Motivo/Desc
                </td>
                <td class="tableDataValue">
                    <html:text property="reason" styleId="reasonId" title="Ingrese un motivo o descripcion ..." />
                </td>            
            </tr>
        </table>
        
        <div id="clear">
        </div>
        <div id="clear">
        </div>
        
        <%-- No se valida seguridad ya que SOLO entran aca los q tienen permiso --%>
        <div class="panelButton">
            <input type="button" value="Confirmar" onclick="prePay();" title="Confirma el pago ..." class="button">
        </div>  
    
    </div>

</html:form>

<%-- Inyectados por Javascript --%>
<div id="createPayDivId" class="hideClass">
    <html:form action="/protected/createPay" styleId="createPayFormId">
        <html:hidden property="honoraryId" value="" styleId="honoraryIdCreateId" />
        <html:hidden property="collectTypeSelected" value="" styleId="collectTypeSelectedCreateId" />
        <html:hidden property="reason" value="" styleId="reasonCreateId" />
        <html:hidden property="value" value="" styleId="valueCreateId" />
        <html:hidden property="code" styleId="codeCreateId" />
    </html:form>
</div>